Mattias Engdegård [Thu, 19 Nov 2020 13:24:24 +0000 (14:24 +0100)]
More string-search optimisations
All-ASCII strings cannot have substrings with non-ASCII characters in
them; use this fact to avoid searching entirely.
* src/fns.c (Fstring_search): For multibyte non-ASCII needle and
unibyte haystack, don't check if the haystack is all-ASCII; it's a
waste of time. For multibyte non-ASCII needle and multibyte
all-ASCII haystack, fail immediately.
* test/src/fns-tests.el (string-search): Add more test cases.
Alan Mackenzie [Thu, 19 Nov 2020 13:24:28 +0000 (13:24 +0000)]
* etc/NEWS: Restore entries accidentally removed by previous commit.
Alan Mackenzie [Thu, 19 Nov 2020 10:31:50 +0000 (10:31 +0000)]
In attempted recursive minibuffer use, display error message in correct frame
This was problematic when minibuffer-follows-selected-frame was non-nil.
Introduce a new parameter DONT-SET-FRAME to set-window-configuration.
* doc/lispref/windows.texi (Window Configurations): Describe the new &optional
parameter to set-window-configuration.
* etc/NEWS (Lisp Changes): Note the new parameter to set-window-configuration.
* src/keyboard.c (read_char_help_form_unwind): Add a new Qnil argument to the
call of Fset_window_configuration.
* src/minibuf.c (read_minibuf): Cons up a Qt with the window configuration in
the argument to record_unwind_protect for the window configuration (twice).
* src/window.c (Fset_window_configuration): Add the new &optional parameter
and document it in the doc string. At the final do_switch_frame operation,
restore the original frame when DONT-SET-FRAME is non-nil.
(restore_window_configuration): Handle the new parameter when the supplied
argument is a cons.
Stefan Kangas [Thu, 19 Nov 2020 05:34:11 +0000 (06:34 +0100)]
Remove outdated comment about Emacs 20 from viper.el
* lisp/emulation/viper-util.el (viper-chars-in-region): Remove
outdated comment.
Stefan Kangas [Thu, 19 Nov 2020 05:12:25 +0000 (06:12 +0100)]
Add new variable cperl-tags-file-name
* lisp/progmodes/cperl-mode.el (cperl-tags-file-name): New variable.
(cperl-write-tags): Use above new variable instead of hardcoding
filename "TAGS". (Bug#8802)
Stefan Kangas [Thu, 19 Nov 2020 02:14:19 +0000 (03:14 +0100)]
Declare XEmacs compat function in inversion.el obsolete
* lisp/cedet/inversion.el (inversion-require-emacs): Declare obsolete.
Stefan Kangas [Thu, 19 Nov 2020 01:56:34 +0000 (02:56 +0100)]
Assume font-lock is provided; it's preloaded since 22.1
* lisp/cedet/semantic/format.el (semantic--format-colorize-text):
* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
* lisp/net/dig.el (dig-mode):
* lisp/progmodes/cperl-mode.el (cperl-pod-here-fontify):
* lisp/progmodes/idlw-help.el (idlwave-help-fontify):
* lisp/progmodes/idlwave.el (idlwave-completion-fontify-classes):
Don't check for feature 'font-lock; it has been preloaded since 22.1.
* lisp/cedet/semantic/format.el (font-lock):
* lisp/epa.el (font-lock):
* lisp/erc/erc.el (font-lock):
* lisp/generic-x.el (font-lock):
* lisp/net/sieve-mode.el (font-lock):
* lisp/progmodes/prolog.el (font-lock):
* lisp/textmodes/rst.el (font-lock): Remove unnecessary require.
Stefan Kangas [Thu, 19 Nov 2020 01:54:26 +0000 (02:54 +0100)]
* lisp/progmodes/cperl-mode.el: Doc fix.
Stefan Kangas [Thu, 19 Nov 2020 01:39:09 +0000 (02:39 +0100)]
Remove unnecessary load from idlwave
* lisp/progmodes/idlw-shell.el:
* lisp/progmodes/idlwave.el: Remove unnecessary load; easy-menu-define
is autoloaded.
Stefan Kangas [Thu, 19 Nov 2020 00:44:25 +0000 (01:44 +0100)]
Make compat alias add-submenu obsolete
* lisp/emacs-lisp/easymenu.el (add-submenu): Make compat alias
obsolete.
* lisp/filesets.el (filesets-build-menu-now): Don't use above
obsolete alias.
(filesets-menu-path, filesets-menu-before)
(filesets-menu-in-menu): Doc fix.
Alan Third [Sun, 15 Nov 2020 17:21:03 +0000 (17:21 +0000)]
Fix SVG display again (bug#44655)
* src/image.c (svg_load_image): Fall back to
rsvg_handle_get_dimensions if we can't calculate the size of the
image.
Protesilaos Stavrou [Wed, 18 Nov 2020 21:14:39 +0000 (23:14 +0200)]
Clarify that 'diff-error' is part of Emacs 28.1
* lisp/vc/diff-mode.el (diff-error): Add :version tag (bug#44727).
Mattias Engdegård [Wed, 18 Nov 2020 09:55:41 +0000 (10:55 +0100)]
Turn gdb-wait-for-pending into a plain function
This avoids unnecessary body duplication in expansion and macro
recursion (causing macro-expansions at runtime), making it clearer
what is going on.
* lisp/progmodes/gdb-mi.el (gdb-wait-for-pending): Make it a function,
remove lambda quoting, η-reduce and simplify.
(gdb-thread-exited, gdb-thread-selected): Adapt callers.
Basil L. Contovounesios [Wed, 18 Nov 2020 11:47:54 +0000 (11:47 +0000)]
Don't make bibtex-unify-case-convert buffer-local
The :local tag does not currently work as intended (it results in a
default value of bibtex-unify-case-convert of nil rather than
identity), and no other bibtex.el user option is automatically
buffer-local, so revert this recent change.
For discussion, see the following emacs-devel thread:
https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html
* lisp/textmodes/bibtex.el (bibtex-unify-case-convert): Don't make
automatically buffer-local for consistency with other user options,
and because the :local tag doesn't have the intended results.
Michael Albinus [Wed, 18 Nov 2020 10:32:38 +0000 (11:32 +0100)]
Preserve `dired-filename' text properties in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
Restore `dired-filename' text property, which has been destroyed
by `decode-coding-region'. (Bug#44682)
Stefan Kangas [Tue, 17 Nov 2020 17:42:38 +0000 (18:42 +0100)]
Remove redundant 'function's around lambdas
* lisp/allout.el (allout-latex-verb-quote):
* lisp/edmacro.el (edmacro-format-keys):
* lisp/ffap.el (ffap-all-subdirs-loop)
(ffap-kpathsea-expand-path, ffap-menu-rescan):
* lisp/files.el (save-buffers-kill-emacs):
* lisp/find-lisp.el (find-lisp-find-dired-internal)
(find-lisp-insert-directory):
* lisp/gnus/gnus-agent.el (gnus-agent-expire-unagentized-dirs):
* lisp/gnus/nnmairix.el (nnmairix-create-message-line-for-search)
(nnmairix-widget-get-values)
(nnmairix-widget-make-query-from-widgets)
(nnmairix-widget-build-editable-fields):
* lisp/international/mule-cmds.el (sort-coding-systems):
* lisp/international/mule-diag.el (list-character-sets-1):
* lisp/international/quail.el (quail-insert-decode-map):
* lisp/mail/reporter.el (reporter-dump-state):
* lisp/mail/supercite.el (sc-attribs-filter-namelist):
* lisp/pcmpl-gnu.el (pcmpl-gnu-zipped-files)
(pcmpl-gnu-bzipped-files):
* lisp/progmodes/cperl-mode.el (cperl-find-tags)
(cperl-write-tags, cperl-tags-hier-init, cperl-tags-treeify)
(cperl-menu-to-keymap, cperl-pod-spell):
* lisp/progmodes/gdb-mi.el (gdb-parent-mode):
* lisp/progmodes/make-mode.el (makefile-browser-fill):
* lisp/simple.el (transpose-lines):
* lisp/term.el:
* lisp/term/w32-win.el (w32-find-non-USB-fonts):
* lisp/textmodes/table.el (table--generate-source-scan-lines): Remove
redundant 'function's around lambdas.
Stefan Kangas [Tue, 17 Nov 2020 02:13:50 +0000 (03:13 +0100)]
Remove redundant 'function's around lambdas in mh/*.el
* lisp/mh-e/mh-alias.el (mh-alias-tstamp, mh-alias-filenames)
(mh-alias-address-to-alias):
* lisp/mh-e/mh-comp.el (mh-edit-again, mh-redistribute):
* lisp/mh-e/mh-identity.el (mh-identity-make-menu):
* lisp/mh-e/mh-utils.el (mh-help): Remove redundant 'function's around
lambdas.
Alan Mackenzie [Tue, 17 Nov 2020 16:51:49 +0000 (16:51 +0000)]
Enhance syntax-tests.el to test nestable comments (Lisp style)
Also add some tests for braces and parse-partial-sexp amongst Lisp style
comments.
* test/src/syntax-tests.el (\;-in, \;-out): Add syntax for { and }.
(top-level): Add new tests for Lisp style comments.
(\#|-in, \#|-out): New functions.
(top-level): Add new tests for nested Lisp style comments, and mixtures of
nested comments with "ordinary" comments.
* test/src/syntax-resources/syntax-comments.txt (top-level): Add new test
fragments for #|...|#, etc.
Stefan Kangas [Tue, 17 Nov 2020 01:51:30 +0000 (02:51 +0100)]
Don't quote lambdas with 'function' in calc/*.el
* lisp/calc/calc-aent.el (calc-do-quick-calc)
(calc-do-calc-eval, math-build-parse-table):
* lisp/calc/calc-alg.el (math-polynomial-base):
* lisp/calc/calc-alg.el (math-is-poly-rec):
* lisp/calc/calc-arith.el (calcFunc-scf):
* lisp/calc/calc-arith.el (math-ceiling, math-round):
* lisp/calc/calc-arith.el (math-trunc-fancy, math-floor-fancy):
* lisp/calc/calc-ext.el (calc-init-extensions, calc-reset)
(calc-refresh-top, calc-z-prefix-help, calc-binary-op-fancy)
(calc-unary-op-fancy):
* lisp/calc/calc-forms.el (math-make-mod):
* lisp/calc/calc-frac.el (calcFunc-frac):
* lisp/calc/calc-funcs.el (calcFunc-euler):
* lisp/calc/calc-help.el (calc-full-help):
* lisp/calc/calc-lang.el (c, pascal, fortran, tex, latex, eqn)
(yacas, maxima, giac, math, maple):
* lisp/calc/calc-macs.el (calc-wrapper, calc-slow-wrapper):
* lisp/calc/calc-map.el (calc-get-operator, calcFunc-mapeqr)
(calcFunc-reducea, calcFunc-rreducea, calcFunc-reduced)
(calcFunc-rreduced, calcFunc-outer):
* lisp/calc/calc-misc.el (another-calc, calc-do-handle-whys):
* lisp/calc/calc-mode.el (calc-save-modes):
* lisp/calc/calc-mtx.el (math-col-matrix, math-mul-mat-vec):
* lisp/calc/calc-poly.el (math-sort-terms, math-poly-div-list)
(math-mul-list, math-sort-poly-base-list)
(math-partial-fractions):
* lisp/calc/calc-prog.el (calc-user-define-formula):
* lisp/calc/calc-rewr.el (math-rewrite, math-compile-patterns)
(math-compile-rewrites, math-parse-schedule)
(math-rwcomp-pattern):
* lisp/calc/calc-store.el (calc-var-name-map, calc-let)
(calc-permanent-variable, calc-insert-variables):
* lisp/calc/calc-stuff.el (calc-flush-caches, calcFunc-pclean)
(calcFunc-pfrac):
* lisp/calc/calc-units.el (math-build-units-table)
(math-decompose-units):
* lisp/calc/calc-vec.el (calcFunc-mrow, math-mat-col)
(calcFunc-mcol, math-mat-less-col, math-mimic-ident):
* lisp/calc/calc-yank.el (calc-edit):
* lisp/calc/calc.el
(calc-mode-var-list-restore-default-values)
(calc-mode-var-list-restore-saved-values, calc-mode, calc-quit):
* lisp/calc/calccomp.el (math-compose-expr)
(math-compose-matrix, math-vector-to-string): Don't quote lambdas with
'function'.
Stefan Kangas [Tue, 17 Nov 2020 11:13:13 +0000 (12:13 +0100)]
Add command to filter package menu by name or description
* lisp/emacs-lisp/package.el (package-menu-filter-by-description):
(package-menu-filter-by-name-or-description): New commands to filter
the package menu. (Bug#44699)
(package-menu-mode-map): Bind the above new commands.
(package-menu-mode-menu): Add new commands to the menu.
* doc/emacs/package.texi (Package Menu): Document new commands.
Stefan Kangas [Tue, 17 Nov 2020 02:10:12 +0000 (03:10 +0100)]
Don't quote lambdas with function macro in generic-x.el
* lisp/generic-x.el (apache-conf-generic-mode, ini-generic-mode)
(reg-generic-mode, mailagent-rules-generic-mode)
(vrml-generic-mode, java-properties-generic-mode)
(alias-generic-mode, ansible-inventory-generic-mode)
(inetd-conf-generic-mode, etc-services-generic-mode)
(etc-passwd-generic-mode, etc-fstab-generic-mode)
(spice-generic-mode, astap-generic-mode): Don't quote lambdas with
function macro.
Stefan Kangas [Tue, 17 Nov 2020 01:17:14 +0000 (02:17 +0100)]
Test that substitute-command-keys preserves text properties
* test/lisp/help-tests.el
(help-substitute-command-keys/preserves-text-properties): New test.
(Bug#17052)
Basil L. Contovounesios [Mon, 16 Nov 2020 23:16:23 +0000 (23:16 +0000)]
; Fix last change to bibtex.el
* lisp/textmodes/bibtex.el (bibtex-unify-case-convert): Clarify
docstring and remove leading asterisk. Use defcustom :local tag.
Harald Jörg [Mon, 16 Nov 2020 23:20:26 +0000 (00:20 +0100)]
perl-mode and cperl-mode: Recognize regex after "return"
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Add
"return" to the keywords which start a regex.
* lisp/progmodes/perl-mode.el (defconst): Add "return" to
'perl--syntax-exp-intro-keywords' (Bug#26850).
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-28650):
New test (bug#26850).
Lars Ingebrigtsen [Mon, 16 Nov 2020 23:18:11 +0000 (00:18 +0100)]
Minor Edebug manual keystroke clarifications
* doc/lispref/edebug.texi (Edebug Misc): Also mention the `a'
binding to abort (bug#44697). Also fix `d' function reference, and
add `P' reference.
Lars Ingebrigtsen [Mon, 16 Nov 2020 22:54:02 +0000 (23:54 +0100)]
Make the handwrite.el PS valid again
* lisp/play/handwrite.el (handwrite): Make the PS valid
(bug#44648). Suggested by Omar Antolín <omar.antolin@gmail.com>.
Lars Ingebrigtsen [Mon, 16 Nov 2020 22:16:39 +0000 (23:16 +0100)]
Fix gnus-mime-display-alternative button natigation
* lisp/gnus/gnus-art.el (gnus-mime-display-alternative): Mark the
buttons correctly so that TAB can find them (bug#44690).
Ruthra Kumar [Mon, 16 Nov 2020 22:04:36 +0000 (23:04 +0100)]
Use 'eshell-find-alias-function' instead of fboundp
* lisp/eshell/esh-cmd.el (eshell-invoke-directly): Fix problem
with (require 'em-tramp) making password prompting from "sudo
bash" no longer work (bug#43772).
Francesco Potortì [Mon, 16 Nov 2020 21:36:05 +0000 (22:36 +0100)]
Add new user option bibtex-unify-case-convert
* lisp/textmodes/bibtex.el (bibtex-unify-case-convert): New
variable (bug#44614).
(bibtex-format-entry): Use it (bug#44614).
Stefan Kangas [Sun, 15 Nov 2020 19:12:45 +0000 (20:12 +0100)]
Use lexical-binding in time-stamp.el
* lisp/time-stamp.el: Use lexical-binding. Remove redundant :group
args.
Stefan Kangas [Mon, 16 Nov 2020 17:52:42 +0000 (18:52 +0100)]
Don't quote lambdas in net/*.el
* lisp/net/eudc-export.el (eudc-create-bbdb-record):
* lisp/net/eudc.el (eudc-print-attribute-value)
(eudc-display-records, eudc-process-form)
(eudc-filter-duplicate-attributes, eudc-filter-partial-records)
(eudc-add-field-to-records, eudc-query-with-words)
(eudc-query-form, eudc-menu):
* lisp/net/eudcb-bbdb.el (eudc-bbdb-extract-phones)
(eudc-bbdb-query-internal):
* lisp/net/mairix.el (mairix-widget-make-query-from-widgets)
(mairix-widget-build-editable-fields, mairix-widget-get-values):
Don't quote lambdas.
Stefan Kangas [Mon, 16 Nov 2020 16:03:45 +0000 (17:03 +0100)]
Don't quote lambdas in emacs-lisp/*.el
* lisp/emacs-lisp/cl-seq.el (cl--parsing-keywords, cl-sort):
* lisp/emacs-lisp/cl-macs.el (cl-typecase):
* lisp/emacs-lisp/cl-extra.el (cl-some, cl-every)
(cl--map-keymap-recursively):
* lisp/emacs-lisp/advice.el (ad-insert-argument-access-forms):
* lisp/emacs-lisp/edebug.el (edebug-sort-alist)
(edebug-set-windows):
* lisp/emacs-lisp/pp.el (pp-display-expression):
* lisp/emacs-lisp/regi.el (regi-interpret): Don't quote lambdas.
Glenn Morris [Mon, 16 Nov 2020 17:05:31 +0000 (09:05 -0800)]
Merge from origin/emacs-27
75723ec212 (origin/emacs-27) ; * lisp/emacs-lisp/benchmark.el (benchm...
53e2a612ad ; * lib-src/make-fingerprint.c: Update commentary.
286c632772 Reformat argument commentary in etags.c
4ec740866a Make the invocation of combine-change-calls in comment-reg...
66bcec8838 * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix ...
03eeab469e ; Update the expected result files in test/manual/etags.
d875a22bc6 Update the various INSTALL files
# Conflicts:
# INSTALL
Glenn Morris [Mon, 16 Nov 2020 16:59:47 +0000 (08:59 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
e2c7b6372d Don't leave lock files after 'replace-buffer-contents'
Glenn Morris [Mon, 16 Nov 2020 16:59:47 +0000 (08:59 -0800)]
Merge from origin/emacs-27
19da602991 Fix input method translation near read-only text
5aabf2cc7f Fix display of truncated R2L lines on TTY frames
daff3bda10 Avoid crashes when a reversed glyph row starts with a comp...
b697bb91a1 ; * .gitignore: src/fingerprint.c not generated since 2019...
Stefan Kangas [Mon, 16 Nov 2020 15:53:24 +0000 (16:53 +0100)]
Don't quote lambdas in calc/calcalg{2,3}.el
* lisp/calc/calcalg2.el (calcFunc-inv\', calcFunc-sqrt\')
(calcFunc-deg\', calcFunc-rad\', calcFunc-ln\')
(calcFunc-log10\', calcFunc-lnp1\', calcFunc-log\')
(calcFunc-log\'2, calcFunc-exp\', calcFunc-expm1\')
(calcFunc-sin\', calcFunc-cos\', calcFunc-tan\', calcFunc-sec\')
(calcFunc-csc\', calcFunc-cot\', calcFunc-arcsin\')
(calcFunc-arccos\', calcFunc-arctan\', calcFunc-sinh\')
(calcFunc-cosh\', calcFunc-tanh\', calcFunc-sech\')
(calcFunc-csch\', calcFunc-coth\', calcFunc-arcsinh\')
(calcFunc-arccosh\', calcFunc-arctanh\', calcFunc-bern\'2)
(calcFunc-euler\'2, calcFunc-gammag\'2, calcFunc-gammaG\'2)
(calcFunc-gammaP\'2, calcFunc-gammaQ\'2, calcFunc-betaB\')
(calcFunc-betaI\', calcFunc-erf\', calcFunc-erfc\')
(calcFunc-besJ\'2, calcFunc-besY\'2, calcFunc-sum)
(calcFunc-prod, calcFunc-integ, calcFunc-if, calcFunc-subscr)
(math-do-integral, calcFunc-integ, math-decompose-poly)
(math-solve-system-rec, math-solve-system-subst, math-solve-for)
(calcFunc-inv, calcFunc-sqrt, calcFunc-conj, calcFunc-abs)
(calcFunc-deg, calcFunc-rad, calcFunc-ln, calcFunc-log10)
(calcFunc-lnp1, calcFunc-exp, calcFunc-expm1, calcFunc-sin)
(calcFunc-cos, calcFunc-tan, calcFunc-arcsin, calcFunc-arccos)
(calcFunc-arctan, calcFunc-sinh, calcFunc-cosh, calcFunc-tanh)
(calcFunc-arcsinh, calcFunc-arccosh, calcFunc-arctanh):
* lisp/calc/calcalg3.el (calc-get-fit-variables)
(calcFunc-polint, calcFunc-ratint, math-all-vars-but): Don't quote
lambdas.
Stefan Kangas [Mon, 16 Nov 2020 13:43:55 +0000 (14:43 +0100)]
Don't quote lambdas in eshell/*.el
* lisp/eshell/em-basic.el (eshell-echo):
* lisp/eshell/em-cmpl.el (eshell-command-completion-function)
(eshell-default-completion-function, eshell-cmpl-initialize)
(eshell-complete-parse-arguments, eshell-complete-commands-list):
* lisp/eshell/em-dirs.el (eshell-complete-user-reference):
* lisp/eshell/em-hist.el (eshell-hist-unload-hook)
(eshell-hist-initialize):
* lisp/eshell/em-ls.el (eshell-ls-sort-entries):
* lisp/eshell/em-pred.el (eshell-modifier-alist)
(eshell-display-predicate-help, eshell-display-modifier-help)
(eshell-pred-substitute, eshell-split-members):
* lisp/eshell/em-prompt.el (eshell-prompt-function):
* lisp/eshell/em-smart.el (eshell-smart-unload-hook)
(eshell-smart-initialize, eshell-refresh-windows):
* lisp/eshell/em-unix.el (eshell-shuffle-files):
* lisp/eshell/esh-arg.el (eshell-parse-argument-hook):
* lisp/eshell/esh-cmd.el (eshell-cmd-initialize)
(eshell-parse-command):
* lisp/eshell/esh-mode.el (eshell-preinput-scroll-to-bottom)
(eshell-postoutput-scroll-to-bottom):
* lisp/eshell/esh-module.el (eshell-modules-list):
* lisp/eshell/esh-proc.el (eshell-read-process-name)
(eshell-round-robin-kill):
* lisp/eshell/esh-var.el (eshell-envvar-names)
(eshell-variables-list): Don't quote lambdas.
Philipp Stephani [Mon, 16 Nov 2020 11:48:54 +0000 (12:48 +0100)]
; * lisp/emacs-lisp/benchmark.el (benchmark-run): Fix docstring
Glenn Morris [Sun, 15 Nov 2020 23:08:58 +0000 (15:08 -0800)]
; * lib-src/make-fingerprint.c: Update commentary.
Juri Linkov [Sun, 15 Nov 2020 20:32:39 +0000 (22:32 +0200)]
New user options 'copy-region-blink-delay' and 'delete-pair-blink-delay'
* lisp/emacs-lisp/lisp.el (delete-pair-blink-delay): New defcustom.
(delete-pair): Use it. (Bug#4136)
* lisp/simple.el (copy-region-blink-delay): New defcustom.
(indicate-copied-region): Use it. (Bug#42865)
Thanks to Sean Whitton <spwhitton@spwhitton.name>.
(indicate-copied-region): Use 'query-replace-descr' not to show
newlines literally. Use "Copied text" instead of misleading
"Saved text" (bug#42865).
Eli Zaretskii [Sun, 15 Nov 2020 17:26:38 +0000 (19:26 +0200)]
Reformat argument commentary in etags.c
* lib-src/etags.c (pfnote, consider_token, C_entries): Resurrect
original format of comments to function arguments.
Mattias Engdegård [Sun, 15 Nov 2020 16:54:41 +0000 (17:54 +0100)]
Reformat comment for 'gnu' compilation rule
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
The comments above the regexp for the 'gnu' rule contained
references to the previous string regexp, which has been difficult
to follow ever since the translation to rx. Move the comments
to their proper places, and add some guiding notes.
Alan Mackenzie [Sun, 15 Nov 2020 13:23:15 +0000 (13:23 +0000)]
Make the invocation of combine-change-calls in comment-region valid
This fixes bug #44581. The problem was that whitespace outside of the (BEG
END) region was being deleted, and this made the invocation of
combine-change-calls with (BEG END) invalid.
* lisp/newcomment.el (comment-region-default): Amend the second argument to
combine-change-calls.
Alan Mackenzie [Sun, 15 Nov 2020 10:34:54 +0000 (10:34 +0000)]
* lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix wrong '-' in regexp
Stefan Kangas [Sun, 15 Nov 2020 01:41:36 +0000 (02:41 +0100)]
Make initial frame match frame-title-format
* src/xterm.c (x_term_init):
* src/w32term.c (w32_initialize_display_info): Sync initial frame
title with new value of Vframe_title_format.
Problem reported by Angelo Graziosi <angelo.g0@libero.it>.
Stefan Kangas [Sat, 14 Nov 2020 23:53:32 +0000 (00:53 +0100)]
Run menu-item :filter function before showing binding
* lisp/help.el (describe-map): Fix running `menu-item' :filter
functions. This fixes a mistake in the previous conversion of this
defun from the old C function describe_map. See the discussion in
Bug#39149.
* test/src/keymap-tests.el
(keymap---get-keyelt/runs-menu-item-filter)
(describe-buffer-bindings/menu-item-filter-show-binding)
(describe-buffer-bindings/menu-item-filter-hide-binding):
New tests.
(keymap-tests--test-menu-item-filter): New defun.
Eric Abrahamsen [Sat, 14 Nov 2020 21:19:47 +0000 (13:19 -0800)]
Handle negation of search keys in gnus-search minibuffer completion
* lisp/gnus/gnus-search.el (gnus-search-get-active): Keys might start
with a leading "-": check for that and ignore it.
Juri Linkov [Sat, 14 Nov 2020 20:36:13 +0000 (22:36 +0200)]
* lisp/progmodes/xref.el (xref-goto-xref): Prefix arg quits the *xref* buffer.
(bug#44611)
Juri Linkov [Sat, 14 Nov 2020 20:18:38 +0000 (22:18 +0200)]
* lisp/org/ob-ruby.el (org-babel-ruby-initiate-session): Use :ruby header arg.
Allow specification of ruby command using the :ruby header arg.
https://lists.gnu.org/archive/html/emacs-orgmode/2020-11/msg00166.html
Daniel Lenski [Sat, 14 Nov 2020 16:07:49 +0000 (17:07 +0100)]
Fix `speedbar-directory-buttons' when using Tramp
* lisp/speedbar.el (speedbar-directory-buttons): Make speedbar
work with directories accessed via Tramp (bug#44622).
Copyright-paperwork-exempt: yes
Stefan Kangas [Sat, 14 Nov 2020 16:04:23 +0000 (17:04 +0100)]
Don't quote lambdas in several places
* lisp/align.el (align-highlight-rule):
* lisp/bookmark.el (bookmark-maybe-sort-alist):
* lisp/emacs-lisp/advice.el (ad-read-advice-name)
(ad-retrieve-args-form, ad-make-hook-form, defadvice)
(ad-with-originals):
* lisp/foldout.el (foldout-inhibit-key-bindings):
* lisp/gnus/gnus-bookmark.el (gnus-bookmark-maybe-sort-alist):
* lisp/mail/rfc822.el (rfc822-addresses-1):
* lisp/net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple):
* lisp/net/net-utils.el (network-connection-to-service):
* lisp/net/socks.el (socks-build-auth-list):
* lisp/org/ox-odt.el (org-odt--image-size):
* lisp/pcomplete.el (pcomplete-command-completion-function)
(pcomplete-default-completion-function, pcomplete-opt):
* lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
(cperl-tags-hier-init, cperl-tags-treeify)
(cperl-next-interpolated-REx, cperl-time-fontification):
* lisp/shadowfile.el (shadow-copy-files, shadow-shadows-of-1)
(shadow-save-buffers-kill-emacs):
* lisp/strokes.el (strokes-renormalize-to-grid):
* lisp/tempo.el (tempo-insert, tempo-forward-mark)
(tempo-backward-mark):
* lisp/textmodes/artist.el (artist-submit-bug-report):
* lisp/textmodes/ispell.el (ispell-complete-word):
* lisp/url/url-auth.el (url-get-authentication):
* lisp/url/url-cache.el (url-cache-create-filename-human-readable):
* lisp/vcursor.el (vcursor-find-window):
* test/lisp/textmodes/reftex-tests.el
(reftex-parse-bibtex-entry-test): Don't quote lambdas.
Akira Kyle [Sat, 14 Nov 2020 15:39:41 +0000 (16:39 +0100)]
Work around glib messing with signal handlers more than it should
* src/process.c (init_process_emacs): force glib's g_unix_signal
handler into lib_child_handler where it should belong.
Copyright-paperwork-exempt: yes
Pablo Barbáchano [Sat, 14 Nov 2020 15:24:26 +0000 (16:24 +0100)]
Add an option to preserve ANSI sequences
* lisp/ansi-color.el Add an option to preserve the ANSI sequences
* test/lisp/ansi-color-tests.el: Add tests (bug#44589).
Lars Ingebrigtsen [Sat, 14 Nov 2020 15:17:44 +0000 (16:17 +0100)]
project-or-external-find-file doc string fix
* lisp/progmodes/project.el (project-or-external-find-file): Doc
string fix -- it's not "recognizing" file names (bug#44588).
Stefan Kangas [Sat, 14 Nov 2020 14:55:08 +0000 (15:55 +0100)]
Use lexical-binding in fortune.el and add tests
* lisp/play/fortune.el: Use lexical-binding. Remove redundant
:group args.
(fortune-in-buffer): Quote function symbol as such.
* test/lisp/play/fortune-resources/fortunes:
* test/lisp/play/fortune-tests.el: New files.
* .gitignore: Ignore generated file fortunes.dat.
Eli Zaretskii [Sat, 14 Nov 2020 13:59:31 +0000 (15:59 +0200)]
; Update the expected result files in test/manual/etags.
Eli Zaretskii [Sat, 14 Nov 2020 13:55:35 +0000 (15:55 +0200)]
Update the various INSTALL files
* nt/INSTALL.W64:
* nt/INSTALL:
* INSTALL: Update the installation information, in particular the
fact that HarfBuzz is now preferred as the shaping library.
Eli Zaretskii [Sat, 7 Nov 2020 10:29:41 +0000 (12:29 +0200)]
Don't leave lock files after 'replace-buffer-contents'
* src/editfns.c (Freplace_buffer_contents): Unlock the buffer's
file if no changes have been made. (Bug#44303)
(cherry picked from commit
a5867ddfbd721568005175bf6c725f7834b21ea4)
Eli Zaretskii [Sat, 14 Nov 2020 13:20:30 +0000 (15:20 +0200)]
Fix input method translation near read-only text
* lisp/international/quail.el (quail-input-method): Don't disable
input method when the character after point has the read-only
property. Suggested by Evgeny Zajcev <lg.zevlg@gmail.com>
(Bug#44466)
* doc/emacs/mule.texi (Input Methods): Document that input methods
are inhibited in read-only text.
Eli Zaretskii [Sat, 14 Nov 2020 13:02:13 +0000 (15:02 +0200)]
Make Calc windows dedicated by default
* lisp/calc/calc.el (calc-make-windows-dedicated): New defcustom.
(calc, calc-trail-display): Set Calc windows dedicated if
calc-make-windows-dedicated is non-nil. Patch by Boruch Baum
<boruch_baum@gmx.com>. (Bug#44108)
* etc/NEWS (Calc): Announce the new behavior.
Eli Zaretskii [Sat, 14 Nov 2020 12:43:42 +0000 (14:43 +0200)]
Make 'prefer-utf-8' heed inhibit-*-detection variables
* lisp/international/mule-conf.el (prefer-utf-8): Inhibit
detection of null bytes and ISO escape sequences if the respective
inhibit-*-detection variables say so. (Bug#44486)
Eli Zaretskii [Sat, 14 Nov 2020 12:36:34 +0000 (14:36 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Jared Finder [Fri, 6 Nov 2020 05:15:08 +0000 (21:15 -0800)]
* lisp/faces.el (mode-line-highlight): Use :box only when supported.
Philipp Stephani [Sat, 14 Nov 2020 12:30:53 +0000 (13:30 +0100)]
Capitalize portable dump messages.
We capitalize all other messages during the dump, so capitalize the
"dump mode" and "dumping fingerprint" ones as well for consistency.
* src/pdumper.c (Fdump_emacs_portable): Capitalize fingerprint message
prefix.
* lisp/loadup.el: Capitalize "dump mode" message.
Jared Finder [Sun, 1 Nov 2020 05:25:47 +0000 (21:25 -0800)]
Face-changing text properties and help-echo now work with xterm-mouse.
* src/dispnew.c (update_mouse_position): New function for mouse
movement logic in 'handle_one_term_event' that can be shared across
different mouse backends.
(display--update-for-mouse-movement): New lisp function, call it.
* lisp/xt-mouse.el (xterm-mouse--handle-mouse-movement): New function
that calls 'display--update-for-mouse-movement'.
(xterm-mouse-translate-1): Call it.
* src/term.c (handle_one_term_event): Inline logic from
'term_mouse_movement' and call 'update_mouse_position'.
(term_mouse_movement): Delete.
Eli Zaretskii [Sat, 14 Nov 2020 11:56:12 +0000 (13:56 +0200)]
Fix display of truncated R2L lines on TTY frames
* src/xdisp.c (extend_face_to_end_of_line): Use a while-loop, not
a do-while loop, to avoid appending an extra glyph at the end of a
line that is one character shorter than the window-width. This is
needed to fix display of reversed glyph rows that are almost as
wide as the window, because append_space_for_newline already added
one space glyph.
Eli Zaretskii [Sat, 14 Nov 2020 11:43:16 +0000 (13:43 +0200)]
Avoid crashes when a reversed glyph row starts with a composition
* src/dispnew.c (build_frame_matrix_from_leaf_window): Add an
assertion to prevent us from overwriting non-char glyphs with the
vertical border glyph.
* src/xdisp.c (extend_face_to_end_of_line): Account for one glyph
possibly inserted by append_space_for_newline. (Bug#44506)
Remove a kludgey correction for an off-by-one error in column
counting, which is no longer needed.
Eric Abrahamsen [Wed, 11 Nov 2020 18:48:37 +0000 (10:48 -0800)]
Save instantiated gnus-search engines in an alist
So we aren't re-instantiating (and potentially configuring) them with
every search.
* lisp/gnus/gnus-search.el (gnus-search-engine-instance-alist): New
variable holding server->engine mapping.
(gnus-search-server-to-engine): See if we've already instantiated this
server. If so, return it. If not, instantiate it and save in the above
variable.
(gnus-search-shutdown): Shutdown function clearing the above alist.
Eric Abrahamsen [Fri, 13 Nov 2020 04:02:09 +0000 (20:02 -0800)]
Make sure Gnus search groups search topics recursively
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): If a search is initiated from
a topic line, make sure we get all the groups under that topic (and
under sub-topics).
Glenn Morris [Sat, 14 Nov 2020 01:02:54 +0000 (17:02 -0800)]
; * .gitignore: src/fingerprint.c not generated since 2019-04-09.
Mattias Engdegård [Fri, 13 Nov 2020 16:42:27 +0000 (17:42 +0100)]
Simplify quick-check composition regexps
* lisp/international/ucs-normalize.el
(quick-check-composition-list-to-regexp): Don't add an explicit
pattern for U+1161..U+1175 and U+11a8..U+11c2 since these are already
part of `combining-chars'.
Glenn Morris [Fri, 13 Nov 2020 17:00:26 +0000 (09:00 -0800)]
Merge from origin/emacs-27
a3d316bbb7 (origin/emacs-27) Update information about refcards
f43e9ad524 Avoid crashes in the daemon due to user interaction
Glenn Morris [Fri, 13 Nov 2020 17:00:26 +0000 (09:00 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
658952a57a Some minor changes to Tramp, do not merge with master
Glenn Morris [Fri, 13 Nov 2020 17:00:26 +0000 (09:00 -0800)]
Merge from origin/emacs-27
ac1a2b2160 Add more doc-view requirements
109eb1e7e2 Fix undefined behavior when fetching glyphs from the displ...
# Conflicts:
# lisp/doc-view.el
Glenn Morris [Fri, 13 Nov 2020 16:58:06 +0000 (08:58 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
78e1646bf7 Fix pcase rx form snag with '?' and '??' (bug#44532)
Glenn Morris [Fri, 13 Nov 2020 16:58:06 +0000 (08:58 -0800)]
Merge from origin/emacs-27
75384bd155 Update the doc-view header line
13ab70c80e Avoid breaking Arabic shaping in 'window-text-pixel-size'
e693d97e50 doc-view.el comment clarification
968e85a2ce Update erc documentation about C-c C-b
Alan Third [Tue, 10 Nov 2020 12:54:50 +0000 (12:54 +0000)]
Fix error with fn key in NS port (bug#44533)
* src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key
handling to before the modifiers are calculated.
Michael Albinus [Fri, 13 Nov 2020 15:55:08 +0000 (16:55 +0100)]
Some minor Tramp fixes, resulting from test campaign
* lisp/net/tramp.el (tramp-handle-write-region):
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use `current-time'
if needed.
* lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping):
(tramp-gvfs-do-copy-or-rename-file): Remove "gvfs-rename", it is
not trustworthy.
* test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p): Check also for
symlinked files in trash.
(tramp-test20-file-modes): Revert last change, it was a thinko.
Eli Zaretskii [Fri, 13 Nov 2020 07:10:01 +0000 (09:10 +0200)]
Update information about refcards
* admin/release-process (refcards):
* admin/make-tarball.txt (refcards): Update information about
generating refcards and required TeX/LaTeX packages.
Stefan Kangas [Thu, 12 Nov 2020 21:06:47 +0000 (22:06 +0100)]
Don't quote lambdas in several places
* lisp/allout-widgets.el (allout-widgets-adjusting-message)
(allout-widgets-exposure-change-processor)
(allout-widgets-count-buttons-in-region):
* lisp/ansi-color.el (ansi-color-make-color-map):
* lisp/case-table.el (describe-buffer-case-table):
* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
* lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group):
* lisp/gnus/nnir.el (nnir-run-swish++, nnir-run-swish-e)
(nnir-run-hyrex, nnir-run-namazu):
* lisp/hippie-exp.el (make-hippie-expand-function)
(try-complete-lisp-symbol, try-complete-lisp-symbol-partially)
(try-expand-all-abbrevs):
* lisp/international/mule-cmds.el (sort-coding-systems)
(select-safe-coding-system, select-message-coding-system)
(read-language-name, encoded-string-description):
* lisp/international/quail.el (quail-keyseq-translate)
(quail-get-translations, quail-build-decode-map)
(quail-insert-decode-map):
* lisp/jka-compr.el (jka-compr-uninstall):
* lisp/locate.el (locate-in-alternate-database):
* lisp/mail/mailabbrev.el (mail-resolve-all-aliases-1)
(mail-abbrev-make-syntax-table):
* lisp/mh-e/mh-seq.el (mh-read-folder-sequences):
* lisp/net/eudcb-ldap.el (eudc-ldap-simple-query-internal):
* lisp/progmodes/make-mode.el (makefile-query-targets)
(makefile-prompt-for-gmake-funargs):
* lisp/shadowfile.el (shadow-cancel, shadow-shadows-of):
* lisp/sort.el (sort-pages, sort-fields, sort-regexp-fields):
* lisp/subr.el (listify-key-sequence):
* lisp/term/wyse50.el (terminal-init-wyse50):
* lisp/textmodes/ispell.el (ispell-help)
(ispell-begin-tex-skip-regexp):
* lisp/textmodes/page-ext.el (pages-sort-region):
* lisp/textmodes/refer.el (refer-find-entry-in-file):
* lisp/url/url-expand.el (url-expand-file-name): Don't quote lambdas.
Juri Linkov [Thu, 12 Nov 2020 20:33:27 +0000 (22:33 +0200)]
Add help-char to the cache key in read-char-from-minibuffer as well
It's highly unlikely that help-char will be changed from its default value 8,
but formally there is a dependence on help-char.
Robert Pluim [Thu, 12 Nov 2020 15:51:49 +0000 (16:51 +0100)]
Emit required version when Harfbuzz is not found but Cairo is
* configure.ac: Define harfbuzz_required_ver with required
harfbuzz version, and put it in the warning message emitted when
Cairo is found but not HarfBuzz.
Mattias Engdegård [Thu, 12 Nov 2020 09:39:36 +0000 (10:39 +0100)]
vhdl-mode: remove minor obstacle to static checking
* lisp/progmodes/vhdl-mode.el (vhdl-directive-keywords-regexp):
Remove unnecessary global variable.
(vhdl-words-init): Remove assignment.
(vhdl-font-lock-init): Inline expression. Use regexp-opt.
Lars Ingebrigtsen [Thu, 12 Nov 2020 12:39:40 +0000 (13:39 +0100)]
Remove mention of `edebug-on-signal' from a doc string
* lisp/emacs-lisp/edebug.el (edebug-mode): Don't mention
non-existent user option (bug#44577).
Lars Ingebrigtsen [Thu, 12 Nov 2020 12:36:19 +0000 (13:36 +0100)]
Clarify project-find-file doc string
* lisp/progmodes/project.el (project-find-file): Don't say
anything about recognizing file names, as that may lead the user
to think that it'll check whether the string at point is an
existing file (bug#44588).
Juri Linkov [Thu, 12 Nov 2020 07:38:21 +0000 (09:38 +0200)]
Add help-form to the cache key in read-char-from-minibuffer
Stefan Kangas [Thu, 12 Nov 2020 02:27:26 +0000 (03:27 +0100)]
* test/lisp/help-fns-tests.el: Silence byte-compiler.
Stefan Kangas [Thu, 12 Nov 2020 02:20:39 +0000 (03:20 +0100)]
* test/lisp/hfy-cmap-resources/rgb.txt: Add comment line.
Stefan Kangas [Thu, 12 Nov 2020 01:55:02 +0000 (02:55 +0100)]
Remove redundant installation instructions
* lisp/net/newsticker.el:
* lisp/net/sieve-mode.el:
* lisp/play/bubbles.el:
* lisp/play/handwrite.el:
* lisp/progmodes/python.el:
* lisp/progmodes/ruby-mode.el:
* lisp/whitespace.el: Remove redundant installation instructions.
These packages are distributed with Emacs and/or GNU ELPA.
* lisp/calendar/timeclock.el:
* lisp/ehelp.el:
* lisp/emacs-lisp/checkdoc.el:
* lisp/filesets.el:
* lisp/mail/reporter.el:
* lisp/net/rfc2104.el:
* lisp/net/webjump.el:
* lisp/pixel-scroll.el: Remove redundant recommendation to call
require before using autoloaded functions.
* lisp/tar-mode.el: Remove reference to package uncompress, removed in
Emacs 23.
Stefan Kangas [Thu, 12 Nov 2020 01:28:10 +0000 (02:28 +0100)]
* lisp/progmodes/ruby-mode.el (auto-mode-alist): Add Brewfile.
Stefan Kangas [Mon, 9 Nov 2020 21:23:04 +0000 (22:23 +0100)]
Fix mistake in describe-buffer-bindings
* src/keymap.c (Fdescribe_buffer_bindings): Fix a call in
describe-buffer-bindings. This fixes a mistake in my previous commit
to prefer the Lisp version of describe-map-tree (
8a1441310aa1), where
0 was accidentally converted to Qt in two places.
Juri Linkov [Thu, 12 Nov 2020 01:38:44 +0000 (03:38 +0200)]
Use cache with help-char in read-char-from-minibuffer unless help-form is nil
Eli Zaretskii [Wed, 11 Nov 2020 19:46:43 +0000 (21:46 +0200)]
Avoid crashes in the daemon due to user interaction
* src/minibuf.c (read_minibuf): Avoid crashes in the daemon if the
init file invokes some kind of minibuffer interaction, by not
updating the selected frame if it's the initial frame.
(Bug#44583)
Juri Linkov [Wed, 11 Nov 2020 19:18:31 +0000 (21:18 +0200)]
In dired-query use read-char-from-minibuffer with bound help-char (bug#42708)
* lisp/dired-aux.el (dired-query): Replace read-char-choice call
with read-char-from-minibuffer.
* lisp/subr.el (read-char-choice): Restore the previous version
that uses read-key.
(read-char-from-minibuffer): Bind help-char to help-form-show
when help-form is non-nil.
Eric Abrahamsen [Wed, 11 Nov 2020 18:36:51 +0000 (10:36 -0800)]
Remove unused "internal" gnus-search variables
* lisp/gnus/gnus-search.el (gnus-search-memo-query,
gnus-search-memo-server): No longer needed.
Eric Abrahamsen [Wed, 11 Nov 2020 17:34:53 +0000 (09:34 -0800)]
Fix defgeneric name of gnus-search-index(ed)-extract
* lisp/gnus/gnus-search.el (gnus-search-indexed-extract): Had the
wrong name on the generic.
Michael Albinus [Wed, 11 Nov 2020 12:24:50 +0000 (13:24 +0100)]
Some minor changes to Tramp, do not merge with master
* lisp/net/tramp.el (tramp-handle-directory-files)
(tramp-handle-directory-files-and-attributes):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes):
* lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files):
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add _COUNT.
Make the functions forward compatible.
* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
Increase `max-specpdl-size' temporarily.
* test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
(tramp-test05-expand-file-name-relative): Use it.
Dario Gjorgjevski [Wed, 11 Nov 2020 11:27:59 +0000 (12:27 +0100)]
Fix python-font-lock-keywords-maximum-decoration performance regression
* lisp/progmodes/python.el
(python-font-lock-keywords-maximum-decoration): `symbol-name'
should not be quantified by a `+' as it is redundant and performs
very badly (bug#44572).
Lars Ingebrigtsen [Wed, 11 Nov 2020 09:59:47 +0000 (10:59 +0100)]
Remove mention of global-cedet-m3-minor-mode
* lisp/cedet/semantic.el (semantic-submode-list):
(semantic-default-submodes): Remove mention of
global-cedet-m3-minor-mode, which no longer exists, apparently
(bug#44565).
Dario Gjorgjevski [Wed, 11 Nov 2020 09:49:04 +0000 (10:49 +0100)]
Fix font lock of assignments with type hints in Python
* lisp/progmodes/python.el
(python-font-lock-keywords-maximum-decoration): Fix regular
expressions for font lock of assignments with type hints (bug#44568).
The font lock of assignments with type hints in Python is rather bad.
Consider the following example:
from typing import Mapping, Tuple, Sequence
var1: int = 5
var2: Mapping[int, int] = {10: 1024}
var3: Mapping[Tuple[int, int], int] = {(2, 5): 32}
var4: Sequence[Sequence[int]] = [[1], [1, 2], [1, 2, 3]]
var5: Sequence[Mapping[str, Sequence[str]]] = [
{
'red': ['scarlet', 'vermilion', 'ruby'],
'green': ['emerald green', 'aqua']
},
{
'sword': ['cutlass', 'rapier']
}
]
As things stand right now, only ‘var1’ would be highlighted. To make
things worse, the ‘Mapping’ type hint of ‘var2’ would also be
highlighted, which is entirely incorrect.
This commit makes all of ‘var1’ through ‘var5’ be highlighted
correctly.